<script>
	import silenceUpdate from '@/uni_modules/rt-uni-update/js_sdk/silence-update.js'
	export default {
		onLaunch: function(opt) {
			console.log("onLaunch",opt);
			// #ifdef APP-PLUS
			plus.screen.lockOrientation('portrait-primary');
			const dom = weex.requireModule('dom');
			dom.addRule('fontFace', {
				'fontFamily': "graceIconfont",
				'src': "url('/Grace6/font/grace.ttf')"
			});
			// #endif
			if( opt.query.hasOwnProperty("Bearer")){
				uni.setStorageSync("Bearer",opt.query.Bearer);
				console.log("onLaunch->Bearer",opt.query.Bearer);
				this.$boya.NGet("/app/auth/user",null,function(res){
					console.log("onLaunch->auth_user",res);
				})
			}
		},
		onShow: function() {
			var self = this
			// #ifdef H5
				console.log("H5模式");
				uni.$on('Bearer',function(data){
					console.log('监听到事件来自 Bearer ，携带参数 msg 为：' + data.Bearer);
					uni.setStorageSync("Bearer",data.Bearer)
					uni.showToast({
						title:data.Bearer
					})
				})
			// #endif
			
			// #ifdef APP-PLUS
			this.$boya.NGet("/app/msg_info/unread", {}, (res) => {
				let msgcount = uni.getStorageSync("msgCount");
				if (msgcount != res.data) {
					msgcount = res.data
					self.unread = res.data
					plus.runtime.setBadgeNumber(res.data);
				} else {
					return
				}
			}, null, {
				showLoading: false
			});
			// 把预览版关掉
			uni.setStorageSync("is_PreviewVer", false);
			
			// 获取本地应用资源版本号。 app更新， 插件链接： https: //ext.dcloud.net.cn/plugin?id=7286
			plus.runtime.getProperty(plus.runtime.appid, (inf) => {
				
				
				// 获取上次检查更新的时间
				const lastCheckTime = uni.getStorageSync("lastUpdateCheckTime") || 0;
				const currentTime = new Date().getTime();
				const oneHour = 60 * 10 * 1000; // 10分钟
				
				// 如果距离上次检查时间不足1小时，则不再检查
				if (currentTime - lastCheckTime < oneHour) {
					console.log('距离上次检查更新不足10分钟，跳过检查');
					return;
				}
				console.log('检查更新');
				
				// 记录本次检查时间
				uni.setStorageSync("lastUpdateCheckTime", currentTime);
				
				// console.log('检查更新plus.runtime.appid: ', plus.runtime.appid);
				// console.log('检查更新uni.getSystemInfoSync().platform: ', uni.getSystemInfoSync().platform);
				// console.log('检查更新inf.versionCode: ', inf.versionCode);
				// console.log('检查更新uni.getStorageSync("is_PreviewVer"): ', uni.getStorageSync("is_PreviewVer"));
				let parm={
					edition_type: plus.runtime.appid,
					version_type: uni.getSystemInfoSync().platform, //android或者ios
					edition_number: inf.versionCode, // 打包时manifest设置的版本号 
					is_previewver: uni.getStorageSync("is_PreviewVer") // 不发行的版本更新
				}
				console.log("/app/getVer",parm);
				
				self.$boya.NPost("/app/getVer", parm, function(res) {
					console.log("getVer->res", res);
					if (!res.data.hasOwnProperty("edition_number")) return;
					//res.data.xxx根据后台返回的数据决定（我这里后端返回的是data），所以是res.data.data
					//判断后台返回版本号是否大于当前应用版本号 && 是否发行 （上架应用市场时一定不能弹出更新提示）
					let is_PreviewVer=uni.getStorageSync("is_PreviewVer");
					let edition_issue=res.data.edition_issue == 1;
					console.log("is_PreviewVer",is_PreviewVer);
					if(is_PreviewVer){
						edition_issue=true;
					}
					if (Number(res.data.edition_number) > Number(inf.versionCode) && edition_issue) {
						//如果是wgt升级，并且是静默更新 （注意！！！ 如果是手动检查新版本，就不用判断静默更新，请直接跳转更新页，不然点击检查新版本后会没反应）
						if (res.data.package_type == 1 && res.data.edition_silence == 1) {
							//调用静默更新方法 传入下载地址
							let is_restart = true;
							if(res.data.edition_force == 0)
							{
								is_restart=false;
							}
							console.log("silenceUpdate",res.data.edition_url);
							silenceUpdate(res.data.edition_url, is_restart)
						} else {
							//跳转更新页面 （注意！！！如果pages.json第一页的代码里有一打开就跳转其他页面的操作，下面这行代码最好写在setTimeout里面设置延时3到5秒再执行）
							setTimeout(function() {
								// 这里是要延迟执行的代码
								uni.navigateTo({
									url: '/uni_modules/rt-uni-update/components/rt-uni-update/rt-uni-update?obj=' +
										JSON.stringify(res.data)
								});
							}, 4000); // 5000毫秒等于5秒
						}
					} else {

						// 如果是手动检查新版本 需开启以下注释
						/* uni.showModal({
						    title: '提示',
						    content: '已是最新版本',
						    showCancel: false
						}) */
					}
				}, function(err) {
					console.log("检查更新失败-->err", err);
				});
				// , null, false
			});
			// #endif
		},
		onHide: function() {}
	}
</script>
<style lang="scss">
	/* 加载框架核心样式 */
	@import "./Grace6/css/grace.scss";
	/* 加载深色模式适配样式 */
	/* @import "./Grace6/css/graceDark.scss"; */
	/* 加载自定义样式 */
	@import "./custom/custom.scss";
	@import "./Grace6/css/style.css";

	/* 加载图标字体 - 条件编译模式 */
	/* #ifdef APP-PLUS-NVUE */
	.gui-icons {
		font-family: graceIconfont;
	}

	/* #endif */
	/* #ifndef APP-NVUE */
	page {
		color: #000;
		background: #ffffff;
	}

	/* #endif */
	::-webkit-scrollbar {
		display: none;
		width: 0 !important;
		height: 0 !important;
		-webkit-appearance: none;
		background: transparent;
	}

	.flex-center {
		display: flex;
		justify-content: center;
		align-items: center;
	}
</style>